package com.lhm.mapper;


import com.lhm.entity.Order;
import com.lhm.entity.Orditem;

import com.lhm.z.ItemBook;
import com.lhm.z.OrdInfo;
import com.lhm.z.OrderLine;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

@Mapper
public interface OrderMapper {
     //添加订单
     void addOrd(Order ord);
  //添加订单明细
    void addItm(Orditem item);
  //更新发货地址及电话
    void updateOrdAddr(Order ord);
    //更新付款标识
    void updateOrdPay(Order ord);
    //根据订单ordid找到更新后对象
    Order findOrderById(int ordid);
    //查找该登录用户的所有订单头信息
    List<OrderLine> findOrdLines(Map<String, Object> map);
    //分页
    int getCount(Map<String, Object> map);
    //根据 订单 id, 查找该订单对应的订单明细信息(含书本)
    List<Map<String, Object>> findItemInfoByOrdid(int ordid);
    //添加快递
    void updateOrdShip(Order ord);

//查找该登录用户的下某一个订单号
//  返回: 订单头, 订单明细(含书本信息)
    OrdInfo findInfoByOrdid(Map<String, Object> map);

  List<ItemBook> findItemBookByOrdid(int ordid);

  List<OrdInfo> findOrdInfo(@Param("uid") int uid, @Param("ispay") int ispay, @Param("tstart") Date tstart, @Param("tend") Date tend);
}
